﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ERPEF.Model
{
    //销售出库主表
    public class sal_sales_Out
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int out_id { get; set; }//序号
        public string out_code { get; set; }//销售出库编号
        public string client_head { get; set; } //客户编码
        public string so_c_property { get; set; } //客户属性
        public string so_packaging { get; set; } //打包方式
        public string client_name { get; set; } //公司名称
        public string client_phone { get; set; }    //联系人手机
        public DateTime out_sales_date { get; set; }  //销售日期
        public char so_shipment_status { get; set; } //发货状态 0：未发货 1：已发货
        public char so_status { get; set; } //订单状态 0：未完成 1：待出库  2：已出库 
        public string employee_name { get; set; } //操作人员
        public bool IsDeleted { get; set; } = false; // 逻辑删除字段
        public string so_created_by { get; set; } //创建人
        public DateTime so_created_time { get; set; } //创建时间
        public string so_update_by { get; set; } //更新人
        public DateTime so_update_time { get; set; } //更新时间
        public bool OutAuditStatus { get; set; } = false;  //审核状态
        public string? auditor { get; set; } //审核人   新增字段
        public DateTime? auditTime { get; set; } //审核时间 新增字段
        public string? out_Return_status { get; set; } //退货状态 新增字段  0：未退货 1：待审核 2：已退货

        public List<sal_sales_Out_C> sal_sales_out_c { get; set; }
        public virtual string ToString()
        {
            if (sal_sales_out_c != null && sal_sales_out_c.Count > 0)
            {
                return sal_sales_out_c.Count + " - " + sal_sales_out_c[0].inventory_quantity;
            }
            else
            {
                return base.ToString(); // 或返回其他默认值  
            }
        }
    }
}
